﻿/* ******************************************************** */
/* Arcans Project (2010)                                    */
/* Jeu 3D en temps réel par navigateur, conception et       */
/* Développement dans la notice                             */
/* Jeu sous licence GNU GPL v3 (voir NOTICE et COPYING)     */
/* ******************************************************** */

//variables globales
var encart;
var panel;
// fonction de lancement des scripts après le chargement de la page
var onload_script = function(switch_nb, connex, choix_canal, nb_mail) {
	
	function getXHR() {
		var xhr_object = null;
		if (window.XMLHttpRequest) { // Firefox
			xhr_object = new XMLHttpRequest();
			return xhr_object;
		} else if (window.ActiveXObject) { // Internet Explorer
			xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
			return xhr_object;
		} else { // XMLHttpRequest non support� par le navigateur
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}
	}

	function recupXml() {
		var xhr = getXHR();
		var reponse = '';

		xhr.open("POST", "php/test.php", false);
		xhr.setRequestHeader("Content-type",
				"application/x-www-form-urlencoded");
		xhr.send("element=recupXml");

		/*
		 * xhr.onreadystatechange = function() { if (xhr.readyState == 4) {
		 * reponse = xhr.responseText; return reponse; // alert(reponse); } };
		 */

		if (xhr.readyState == 4) {
			reponse = xhr.responseText;
			//alert(reponse);
			return reponse;
		}
	}

	function StringtoXML(text) {
		if (window.ActiveXObject) {
			var doc = new ActiveXObject('Microsoft.XMLDOM');
			doc.async = 'false';
			doc.loadXML(text);
		} else {
			var parser = new DOMParser();
			var doc = parser.parseFromString(text, 'text/xml');
		}
		return doc;
	}

	docXml = StringtoXML(recupXml());
	gestionEncart = new EncartClass();
	panel = new PanelClass(connex);
	//alert(xml);
	// onload permanents :
	/*
	 * encart = new EncartClass(); if (choix_canal) canal = choix_canal; if
	 * (connex) { connex = parseInt(connex); panel = new PanelClass(connex); if
	 * (connex == 2) setTimeout('panel.ouverture("messages");', 200); if (connex ==
	 * 3) setTimeout('panel.ouverture("chat");', 200); } if (nb_mail)
	 * nb_messages = nb_mail; //onload conditionnels : if (switch_nb) { switch
	 * (switch_nb) { case 1 : bl_onload.inscription(1); break; case 2 :
	 * bl_onload.inscription(2); break; case 3 : bl_onload.inscription(3);
	 * break; case 4 : bl_onload.suppression(1); break; case 5 :
	 * bl_onload.suppression(2); break; case 6 : bl_onload.suppression(3);
	 * break; case 7 : bl_onload.suppression(4); break; case 8 :
	 * bl_onload.suppression(2); break; case 9 : bl_onload.suppression(5);
	 * break; } }
	 */
	// fonction de chargement du fichier xml au sein d'une variable
	// Routine de vérification si le navigateur gêre la méthode utilisée
	/*if (document.implementation && document.implementation.createDocument) {
		// déclaration pour Mozilla et FF
		docXml = document.implementation.createDocument('', '', null);
	} else if (window.ActiveXObject) {
		// déclaration pour IE
		docXml = new ActiveXObject("Microsoft.XMLDOM");
	} else {
		alert('Votre navigateur ne peut pas éxécuter ce script.');
	}
	docXml.load("xml/index.xml");*/
};

// classe statique de gestion des fonctions étendues
bl_onload = {
	// méthodes :
	// gestion de l'inscription
	inscription : function(choix) {
		encart.ouverture("270px", "Inscription : ");
		switch (choix) {
		case 1:
			encart
					.alerte(
							"valid",
							"Vous avez finaliser votre inscription. Vous pouvez maintenant accéder à votre compte.");
			encart.alerte("valid", "Bienvenue !");
			encart.addFootBouton("Continuer", "javascript:encart.fermeture();");
			break;
		case 2:
			encart
					.alerte("erreur",
							"Vous n'êtes pas enregistré. Votre inscription n'est pas possible.");
			encart
					.alerte(
							"erreur",
							"Si votre inscription n'a pas été validé dans un délai d'un semaine, il est normal que vous ne puissiez pas la finaliser.");
			encart.addFootBouton("S'inscrire",
					"javascript:bl_onload.changeIns();");
			encart.addFootBouton("Revenir sur le site",
					"javascript:encart.fermeture();");
			break;
		case 3:
			encart
					.addHeadPara("Vous avez déjà finalisé votre inscription. Cliquez sur le bouton \"Continuer\" pour vous connecter.");
			encart.addFootBouton("Se connecter",
					"javascript:bl_onload.changeCon();");
			encart.addFootBouton("Revenir sur le site",
					"javascript:encart.fermeture();");
			break;
		}
	},
	// gestion de la validation de la suppression du compte
	suppression : function(choix) {
		encart.ouverture("250px", "Suppression de compte : ");
		switch (choix) {
		case 1:
			encart.alerte("erreur", "Votre compte a déjà été supprimé.");
			encart.addFootBouton("Revenir sur le site",
					"javascript:encart.fermeture();");
			break;
		case 2:
			encart.alerte("erreur", "Votre compte a déjà été réinitialisé.");
			encart.addFootBouton("Se connecter",
					"javascript:bl_onload.changeCon();");
			encart.addFootBouton("Revenir sur le site",
					"javascript:encart.fermeture();");
			break;
		case 3:
			encart
					.alerte(
							"valid",
							"Votre compte a bien été supprimé. Merci d\'avoir participer à \"Arcans Project\".");
			encart.addFootBouton("Revenir sur le site",
					"javascript:encart.fermeture();");
			break;
		case 4:
			encart
					.alerte("erreur",
							"Votre compte a déjà été supprimé, la récupération est impossible.");
			encart.addFootBouton("Revenir sur le site",
					"javascript:encart.fermeture();");
			break;
		case 5:
			encart
					.alerte(
							"valid",
							"Votre compte a été réinitialisé. Vous êtes automatiquement connecté lors de la récupération. Un nouveau mot de passe généré aléatoirement vous est fourni par courrier électronique.");
			encart.alerte("erreur",
					"Ce courrier peut prendre un certains temps pour arriver.");
			encart.addFootBouton("Continuer", "javascript:encart.fermeture();");
			break;
		}
	},
	// changements de l'encart
	changeIns : function() {
		encart.fermeture();
		window.setTimeout("bl_inscrip.ouverture();", 800);
	},
	changeCon : function() {
		encart.fermeture();
		window.setTimeout("bl_connex.ouverture();", 800);
	}
};